package eventos.aceptar;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JOptionPane;

import logica.AtributoRepetidoException;
import logica.IdExternoRepetidoException;
import logica.Identificador;

import controlador.IControladorIdentificador;

import vista.ventanas.VentanaElegirIdentificadores;

public class EventoAceptarIdentificador  extends MouseAdapter {
	
	private VentanaElegirIdentificadores ventana;
	private IControladorIdentificador controlador;
	
	public EventoAceptarIdentificador(VentanaElegirIdentificadores ventana, IControladorIdentificador controlador)
	{
		super();
		this.ventana = ventana;
		this.controlador = controlador;
	}
	
	public void mouseClicked(MouseEvent evento)
	{
		if (this.ventana.getAtributos().isEmpty() && this.ventana.getEntidades().isEmpty())
		{
			JOptionPane.showMessageDialog(this.ventana, "El identificador no tiene elementos.", "Error en el identificador", JOptionPane.ERROR_MESSAGE);
			return;
		}
		
		Identificador identificador = new Identificador();
		
		try 
		{
			identificador.agregarAtributosIdentificadores(ventana.getAtributos());
			identificador.agregarEntidadesIdentificadoras(ventana.getEntidades());
			this.ventana.setVisible(false);
			this.ventana = null;
			
			this.controlador.agregarIdentificador(identificador);
		} 
		catch (AtributoRepetidoException e1) {
			e1.printStackTrace();
		}
		catch (IdExternoRepetidoException e) {
			e.printStackTrace();
		}
				
	}
}
